<?php

namespace app\admin\model;
use think\Model;
use fast\Tree;

class Bm extends Model
{
    // 表名
    public $name = 'bm_training_registration';
    public $prefix_new = 'fa_';
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';

    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = false;
    public $data;

    public function insertUpdate($data, $uniqueColumns,$isUpdate=true)
    {
        if (array_key_exists("0",$data)) {
            foreach ($data as $key => $value) {
                $this->insertUpdate($data[$key], $uniqueColumns,$isUpdate);
            }
        } else {
            //构建查询条件
            $where = [];
            foreach ($uniqueColumns as $column) {
                if (isset($data[$column])) {
                    $where[$column] = $data[$column];
                } else {
                    // 可以根据实际情况处理错误，这里简单抛出异常
                    throw new \Exception("Unique column $column not found in data");
                }
            }
            // 先查询是否存在
            $record = $this->where($where)->find();
            if ($record) {
                if(!$isUpdate) return $record->id;
                // 存在则更新
                $record->save($data);
                $insertId = $record->id;
            } else {
                // 不存在则插入
                $record = $this->create($data);
                $insertId = $record->id;
            }
            return $insertId;
        }
    }
    public function getGenderTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "男"=>"男",
            "女"=>"女",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    public function getEthnicityTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "汉族"=>"汉族",
            "蒙古族"=>"蒙古族",
            "回族"=>"回族",
            "藏族"=>"藏族",
            "维吾尔族"=>"维吾尔族",
            "苗族"=>"苗族",
            "彝族"=>"彝族",
            "壮族"=>"壮族",
            "布依族"=>"布依族",
            "朝鲜族"=>"朝鲜族",
            "满族"=>"满族",
            "侗族"=>"侗族",
            "瑶族"=>"瑶族",
            "白族"=>"白族",
            "土家族"=>"土家族",
            "哈尼族"=>"哈尼族",
            "哈萨克族"=>"哈萨克族",
            "傣族"=>"傣族",
            "黎族"=>"黎族",
            "傈僳族"=>"傈僳族",
            "佤族"=>"佤族",
            "畲族"=>"畲族",
            "高山族"=>"高山族",
            "拉祜族"=>"拉祜族",
            "水族"=>"水族",
            "东乡族"=>"东乡族",
            "纳西族"=>"纳西族",
            "景颇族"=>"景颇族",
            "柯尔克孜族"=>"柯尔克孜族",
            "土族"=>"土族",
            "达斡尔族"=>"达斡尔族",
            "仫佬族"=>"仫佬族",
            "羌族"=>"羌族",
            "布朗族"=>"布朗族",
            "撒拉族"=>"撒拉族",
            "毛南族"=>"毛南族",
            "仡佬族"=>"仡佬族",
            "锡伯族"=>"锡伯族",
            "阿昌族"=>"阿昌族",
            "普米族"=>"普米族",
            "塔吉克族"=>"塔吉克族",
            "怒族"=>"怒族",
            "乌孜别克族"=>"乌孜别克族",
            "俄罗斯族"=>"俄罗斯族",
            "鄂温克族"=>"鄂温克族",
            "德昂族"=>"德昂族",
            "保安族"=>"保安族",
            "裕固族"=>"裕固族",
            "京族"=>"京族",
            "塔塔尔族"=>"塔塔尔族",
            "独龙族"=>"独龙族",
            "鄂伦春族"=>"鄂伦春族",
            "赫哲族"=>"赫哲族",
            "门巴族"=>"门巴族",
            "珞巴族"=>"珞巴族",
            "基诺族"=>"基诺族",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    public function getPerson_category_typeTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "五类人员"=>"五类人员",
            "其他人员"=>"其他人员",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    protected function setPerson_categoryAttr($value)
    {
        return $value&&is_array($value)?join(",",$value):$value;
    }

    public function getPerson_categoryTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "困难家庭劳动者"=>"困难家庭劳动者",
            "应届毕业生（高校、职业院校）"=>"应届毕业生（高校、职业院校）",
            "农村转移就业劳动者"=>"农村转移就业劳动者",
            "城镇登记失业人员"=>"城镇登记失业人员",
            "未继续升学应届初高中毕（肄）业生"=>"未继续升学应届初高中毕（肄）业生",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    protected function setPerson_category_otherAttr($value)
    {
        return $value&&is_array($value)?join(",",$value):$value;
    }

    public function getPerson_category_otherTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "企业在岗职工"=>"企业在岗职工",
            "就业帮扶车间和农民专业合作社用工"=>"就业帮扶车间和农民专业合作社用工",
            "灵活就业人员"=>"灵活就业人员",
            "退役军人"=>"退役军人",
            "残疾人"=>"残疾人",
            "其他"=>"其他",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    public function getEmployment_statusTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "已就业"=>"已就业",
            "未就业"=>"未就业",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    public function getEntrepreneurship_statusTextAttr($value, $data=array())
    {
        $s=array();
        $content=array(
            "已创业"=>"已创业",
            "未创业"=>"未创业",
            );
        $nn=preg_split("/,/",$value);
        for($i=0;$i<count($nn);$i++) {
            if($nn[$i]=="") continue;
            if(isset($content[$nn[$i]])) $s[]= $content[$nn[$i]];
        }
        return join(",",$s);
    }

    public function getApplication_dateTextAttr($value, $data)
    {
        $value = $value ? $value : $data['application_date'];
        return is_numeric($value) ? date("Y-m-d", $value) : $value;
    }

    protected function setApplication_dateAttr($value)
    {
        return $value && is_numeric($value) ? date("Y-m-d", $value) : $value;
    }

    public function getVerification_dateTextAttr($value, $data)
    {
        $value = $value ? $value : $data['verification_date'];
        return is_numeric($value) ? date("Y-m-d", $value) : $value;
    }

    protected function setVerification_dateAttr($value)
    {
        return $value && is_numeric($value) ? date("Y-m-d", $value) : $value;
    }

    public function getCreate_timeTextAttr($value, $data)
    {
        $value = $value ? $value : $data['create_time'];
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    protected function setCreate_timeAttr($value)
    {
        return $value && is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    public function getUpdate_timeTextAttr($value, $data)
    {
        $value = $value ? $value : $data['update_time'];
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    protected function setUpdate_timeAttr($value)
    {
        return $value && is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    public function getDelete_timeTextAttr($value, $data)
    {
        $value = $value ? $value : $data['delete_time'];
        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

    protected function setDelete_timeAttr($value)
    {
        return $value && is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
    }

}